Personalized Time-Shifted Programming

ABSTRACT

A method and apparatus for personalized time-shifted programming. Digital content is retrieved, for example, from a digital library. Once retrieved, the content is stored locally, for example, on a personal computer. The locally stored content is transferred, in whole or in part, to a playback device that allows a user to listen to the content of the playback device. In one embodiment, the user may designate portions of a playback time provided by the playback device to various selections. For example, with a playback device that provides two hours of content, a user may wish to listen to one half hour of news, one half hour of a series and one hour of an book. Thus, the user may partition one quarter of playback time to each of news and the series and one half of the playback time to the book. In one embodiment, the present invention provides different automatic update techniques for the playback device that may be selected by the user based on how the content is to be used For example, the news portion may be one half hour of the most recent news available from a particular source. The series may be the most recent episode in the series, whether or not the user has listened to other stored episodes. The book portion may provide one hour of the book from the most recent stopping place each time the playback device is coupled to the library retrieval device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of and claims the benefit of priority to U.S. patent application Ser. No. 09/892,211, filed on Jun. 25, 2001, which is a continuation of U.S. patent application Ser. No. 09/082,490, filed on May 20, 1998, now U.S. Pat. No. 6,253,237. The entire content of these patent applications are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to information playback systems. More specifically, the present invention relates to time shifting of media programming.

2. Description of the Related Art

Many forms of information available through many types of media are available for delayed playback. For example, video cassette recorders (VCRs), Laser Discs, and Digital Versatile Discs (DVDs) allow for time-shifting of audio/visual (AIV) programming. Audio playback systems include such devices as cassette tape players and compact disc (CD) players. Audio content stored and played back with these devices typically include music, audio books, recordings of radio programs or lectures, etc. Other media are available or will be available to for time-shifting of various types of programming.

One shortcoming of these prior art playback devices is general inflexibility. For example, the possibility of having selections distributed over several storage components. A single audio book or series of lectures may require multiple cassettes or CDs for complete audio coverage. Audio/visual programming, such as movies, may also require multiple storage components. Another shortcoming is that cassettes (video or audio) and optical media (CDs, DVDs, etc.) are typically not rewritten with new content when the user finishes the original content, which leads to a proliferation of storage media that the user must dispose of or store. While technology exists to rewrite over original material, there exists few opportunities to acquire and record new content to write over the original content purchased by the user.

The prior art also includes digital playback devices that store audio content in an rewritable memory, such as flash memory. Such devices may be used advantageously to acquire and use programming content, however, these devices are typically inflexible as to storage and use of the content. For example, a playback device may store a time-limited portion of particular audio content. The user may be required to listen to the complete portion before storing a subsequent portion of the audio content or a different selection. Prior art digital playback devices typically do not provide the ability to store multiple programming selections and use the selections at different rates. Therefore, what is needed is an improved playback device that provides personalized time-shifted programming.

SUMMARY OF THE INVENTION

A method and apparatus for personalized time-shifted programming in described.

Digital content is retrieved from a library and stored for subsequent playback. A subset of the content is stored in a playback device and is automatically selected to update consumed content according to a user's predetermined specifications.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.

FIG. 1 is one embodiment of a block diagram of components for providing personalized time-shifted programming.

FIG. 2 is one embodiment of a computer system that may be used as a library access device.

FIG. 3 is one embodiment of a playback device.

FIG. 4 is one embodiment of playback time allocation of audio content that may be provided.

FIG. 5 is one embodiment of a flow diagram for automatically providing most recent audio content.

FIG. 6 is one embodiment of a flow diagram for automatically providing an episode in a series of episodes.

FIG. 7 is one embodiment of a flow diagram for automatically providing a seamless update until complete of audio content.

DETAILED DESCRIPTION OF CERTAIN INVENTIVE EMBODIMENTS

A method and apparatus for personalized time-shifted audio programming is described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the present invention.

While generally described in terms of digital audio programming, the present invention is not limited to personalizing and time-shifting of audio content. The present invention is equally applicable to other media, such as video, audio/video (NY), and other media or combinations of media. The present invention is used with a device having a limited storage resource, such as a fixed amount of onboard memory. The present invention allows a user to “consume” (by listening to audio content, watching video content, etc.) programming content and have the content updated automatically in a manner consistent with the user's consumption of the content. The present invention also allows a user to maintain multiple programming selections in a single storage device and to consume the multiple selections at different rates. The multiple programming selections may also be updated in different manners, depending on type of content, the user's preference, etc.

Briefly, in terms of audio content, the present invention provides a method and apparatus for retrieving audio content as well as time-shifting and personalization of playback. In one embodiment, digital audio content is retrieved, for example, from a digital audio library. Once retrieved, the audio content is stored, for example, on a personal computer or other storage device. The stored audio content is transferred, in whole or in part, to a playback device that allows a user to listen to the audio content on the playback device.

In one embodiment, the user may designate portions of a playback time provided by the playback device to various audio selections. For example, with a playback device that provides two hours of audio content, a user may wish to listen to one half hour of daily news, one half hour of a comedy series and one hour of an audio book. Thus, the user may partition one quarter of playback time to each of news and the comedy series and one half of the playback time to the audio book.

In one embodiment, the present invention provides different automatic update techniques for the playback device that may be selected by the user based on how the audio content is to be used. For example, the news portion may be one half hour of the most recent news available from a particular source. The comedy series may be the oldest non-consumed episode in the series. The audio book portion may provide one hour of the audio book from the most recent stopping place each time the playback device is coupled to the library retrieval device. Of course, other combinations and scenarios may also be implemented.

Overview of an Arrangement for Providing Personalized Programming Content

FIG. 1 is one embodiment of a block diagram of components for providing personalized time-shifted audio programming. While the embodiment of FIG. 1 is described in terms of personal computers, the Internet and Web servers the arrangement of FIG. 1 could also be provided with alternative components. The components of FIG. 1 may also be modified to provide personalized time-shifted programming for media other than audio.

Library 110 provides access to multiple audio products described generically as audio content, which includes one or more of the following: audio books, recorded radio programs, recorded lectures, audio newsletters and other periodicals, audio portions of television programming, messages or other communications from individuals, etc. Of course, other types of audio content may also be provided. Library 110 may be part of a larger digital library that includes video, text and other information not described with respect to the present invention.

Network 100 provides access to library 110. In one embodiment, network 100 is the Internet. In such an embodiment, library 110 may be presented to a user in the form of a World Wide Web (WWW, or Web) page. Alternatively, library 100 may be a different type of resource accessed via network 100, such as a bulletin board service (BBS), a file server, etc. Of course, network 100 may be a network other than the Internet, such as a local area network (LAN), a wide area network (WAN), a wireless network, or any other type of network.

Alternatively, library 110 may be a local storage device such as a DVD, a CD-ROM, etc. In such an embodiment, library 110 would not be accessed via network 100. Of course, programming content other than audio content may be retrieved by the library access devices.

Multiple library access devices, such as library access devices 120 and 150 may be coupled to network 100 to access library 110. Library access devices may be personal computers, dedicated library access devices or any other type of device that provides access to library 110 via network 100.

Coupled to each library access device is a playback device, such as playback devices 125 and 155. Playback devices store all or a portion of audio content accessed from library 110 for playback. In one embodiment, playback devices are portable devices that may be detached from an associated library access device by a user thereof. Alternatively, a playback device may be a component of an associated library access device and not readily separated therefrom.

Alternatively, a playback device may include library access functionality. For example, a Personal Digital Assistant (PDA) may include playback functionality as well as library access functionality. In such an embodiment, updates to audio content may be performed automatically by the PDA according to one of the methods described below.

FIG. 2 is one embodiment of a computer system that may be used as a library access device. Computer system 200 comprises bus 201 or other communication device for communicating information, and processor 202 coupled with bus 201 for processing information. Computer system 200 further comprises random access memory (RAM) or other dynamic storage device 204 (referred to as main memory), coupled to bus 201 for storing information and instructions to be executed by processor 202. Main memory 204 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 202. Computer system 200 also comprises read only memory (ROM) and/or other static storage device 206 coupled to bus 201 for storing static information and instructions for processor 202. Data storage device 207 is coupled to bus 201 for storing information and instructions.

Data storage device 207 such as a magnetic disk or optical disc and corresponding drive can be coupled to computer system 200.

Computer system 200 can also be coupled via bus 201 to display device 221, such as cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. Alphanumeric input device 222, including alphanumeric and other keys, is typically coupled to bus 201 for communicating information and command selections to processor 202. Another type of user input device is cursor control 223, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 202 and for controlling cursor movement on display 221.

Computer system 200 may be coupled to a network, such as network 100 via a network interface, modem or other device (not shown in FIG. 2). Through the network interface, computer system 200 may be used to retrieve digital audio information from a library such as digital audio library 110. The audio content retrieved may be stored in main memory 204 and/or data storage device 207.

Playback device interface 225 provides an interface between computer system 200 and a mobile playback device (not shown in FIG. 2) described in greater detail below. Playback device interface 225 is used to transfer audio content from computer system 200 to the playback device and to receive information related to audio content from the playback device. Of course, playback device interface 225 may be used to transfer other data and/or to monitor audio content.

Alternatively, programming content may be updated directly to a playback storage device (not shown in FIG. 2), without the need for the playback device being directly coupled to the library access device. In such an embodiment, a removable storage device is coupled to playback device interface 225 to receive updated programming content. Thus, a user may have multiple storage device for use with a playback device, which would allow the user to continually use the playback device without the need for pausing to update programming content.

The present invention has been described in terms of “pulling” content from a library to a playback device or storage device. However, the concepts of the present invention are equally applicable to “pushing” of content from the library to the playback device or the storage device. The pushing of content may be performed in response to a particular user's specifications as to what content is desired and how the content should be stored and updated. Alternatively, content may be pushed randomly to users, or users to which content is pushed may be selected based on either revealed or observed preferences. Revealed preferences may be obtained through a registration or other process in which the user is asked a series of questions, or in another manner that obtains information from responses generated by a user. Observed preferences may be obtained by observing the types of content selected by a user. For example, sports content may be pushed to a user who has previously consumed other sports content.

FIG. 3 is one embodiment of a playback device. Player 300 is a mobile playback device that allows digitized audio content to be downloaded, for example, via playback device interface 225 and replayed later. A user can utilize the buttons on player 300 to navigate through stored data to replay desired audio content.

Player 300 includes buttons 305, 310, 315, 320 and 325 and volume dial 330. Further details of player 300 can be found in U.S. patent application Ser. No. 08/710,114, filed Sep. 12, 1996.

In summary, player 300 includes a processor containing internal random access memory (RAM). External to the processor are conventional read only memory (ROM) and a memory storage device such as flash memory. The ROM contains the operating software, while the flash memory (or other memory storage device) contains audio data.

Player 300 can also include an interface to receive removable media that stores media content. For example, flash memory cards storing audio content can be inserted into player 300. Audio content stored on the removable media can be played back directly from the removable media or copied from the removable media and stored in player 300 for later playback.

Overview of Personalization and Time-Shifting of Audio Programming

In general, the present invention provides intelligent use of free and used memory in the playback device to provide seamless playback of programming content to the user. Furthermore, the present invention provides independent playback at different rates of various programming products, such as news programs, audio books, entertainment series, etc.

FIG. 4 is one embodiment of an exemplary playback time allocation of audio content that may be provided. While the example of FIG. 4 is described in terms of audio programming, the storage and playback concepts apply equally to other types of programming, such as video, audio/visual, etc.

In the example, of FIG. 4 a two hour playback period is provided. The first half hour provides the latest financial news and the second half hour provides an episode from an interview series. The final hour provides an audio novel selected by the user. Of course, other playback lengths less than or greater than two hours may also be provided.

In one embodiment, the three audio selections described with respect to FIG. 4 are updated according to three different methods. Financial news portion 410 provides the most recent financial news available to the playback device. Interview series 420 provides an oldest non-consumed episode from a series of interviews. Audio novel 430 provides one hour of an unlistened to portion of a selected audio novel or the remainder of the audio novel, whichever is less. Of course, a different number of audio programs may be provided by a single playback device. Also, various combinations of one or more update methods may also be provided.

In one embodiment, unallocated playback time is used to expand designated playback times. For example, if a user allocates a half hour for a series and an hour for an audio book, the unallocated half hour can be used for the audio book. Alternatively, in the example of FIG. 4, if a subsequent interview episode is not yet available, the half hour designated for the interview series may be used for the audio book until the subsequent episode is available.

FIG. 5 is one embodiment of a flow diagram for automatically providing most recent audio content. The method for updating audio content described with respect to FIG. 5 may be used, for example, with audio content that changes frequently and the listener wishes to listen to the latest edition. Examples of such content include, but are not limited to, financial news, world news, sports scores, etc.

The steps of FIG. 5 may be performed, for example, by a computer system coupled to the Internet having access to a digital audio library. The computer system may automatically retrieve audio content for the playback device whether or not the playback device is currently coupled to the computer system.

The method of FIG. 5 starts at step 500. During step 500, a playback device mayor may not have an edition of the audio content desired. An edition of audio content is a segment of a larger audio content. For example, an interview series may be the audio content with each interview being an edition or episode of the series. If the playback device does not have any edition of the desired audio content, the most recent edition available is retrieved and stored.

If the playback device currently stores an edition of the desired audio content, the edition of the stored content is determined in step 510. In step 520 the edition of available content is determined. The editions determined in steps 510 and 520 are compared in step 530. It is important to note that steps 510 and 520 may be performed in reverse sequence, or steps 510 and 520 may be performed in parallel.

In step 540, it is determined whether the stored edition is the same as the most recent edition. If so, updating of the stored audio content is not required. Processing then returns to step 510 either immediately, or after a predetermined period of delay. If the stored content is not the most recent content, the most recent available content is retrieved and stored in step 550. At this point the desired most recent edition has been obtained and processing is completed in step 560.

The edition retrieved may be stored in the library access device or in the playback device. If stored in the library access device, all or a portion of the edition retrieved may be stored in the playback device at a later time.

FIG. 6 is one embodiment of a flow diagram for automatically providing an episode in a series of episodes. The method of updating described with respect to FIG. 6 may be used, for example, when a user is interested in listening to a series and wishes to hear the most recent edition of the series.

As with the steps of FIG. 5 above, the steps of FIG. 6 may be performed, for example, by a computer system coupled to the Internet having access to a digital library. The computer system may automatically retrieve audio content for the playback device whether or not the playback device is currently coupled to the computer system.

The method starts with step 600. In step 610, an episode is retrieved from the digital library. In step 620, it is determined whether the retrieved episode has been consumed. Step 620 may be performed periodically, for example, at predetermined times, when the playback device is coupled to the library access device, etc. Alternatively, step 620 may be performed continuously until the retrieved episode is consumed.

In step 630, the subsequent episode in the series is retrieved. The subsequent episode retrieved in step 630 may be stored for later playback, for example, in the library access device or the playback device. Alternatively, the subsequent retrieved episode may be consumed immediately. The process concludes in step 640.

Of course, the steps described with respect to FIG. 6 may be modified to retrieve an edition from the series after the user has listened to the edition(s) already retrieved. Alternatively, new editions may be retrieved and stored by the library access device and stored in the playback device after an older edition has been used.

In an alternative embodiment, a portion of a subsequent episode can be stored in the memory allocated for the series. For example, if a user listens to 10 minutes of a 30 minute episode and has allotted 30 minutes for storing the episode, the playback device may be updated to store the final 20 minutes of the episode and 10 minutes of the subsequent episode. In other words, updating of episodes is not limited to an episode-by-episode basis.

FIG. 7 is one embodiment of a flow diagram for automatically providing a seamless update until complete of audio content. The method of updating described with respect to FIG. 7 may be used, for example, when a listener is listening to an audio book. The listener may have stored on the playback device one hour of the audio book and may listen to 25 minutes of the audio book during a time period in which the playback device is separated from the library access device. When the listener couples the playback device to the library access device, the 25 minutes of the audio book immediately subsequent to the hour previously stored in the playback device is written over the 25 minute section previously listened to. The playback device then stores one hour of the audio book that the listener may listen to.

The method begins with step 700. In step 710 the playback device determines initial head and tail pointers of a particular audio content. The head pointer indicates the logical beginning of the audio content. Similarly, the tail pointer indicates the logical ending of the audio content. The logical beginning and ending of the audio content correspond to the beginning and ending, respectively, of the audio content if listened to “live.” The audio content is not required to be stored in contiguous memory locations. In one embodiment, audio content is stored in multiple blocks of memory that are linked together to allow audio content stored in the memory blocks to be played back in proper audio sequence.

In step 720 a content counter is set to the initial head pointer. The content counter indicates the current memory location from which audio content is retrieved for playback. As audio content is played back, the content counter progresses through the audio content stored in memory in the proper audio sequence. In one embodiment, this is accomplished by stepping though memory blocks sequentially. When the end of a memory block is reached, a stored link that indicates the subsequent memory block is followed to the appropriate next memory block. That memory block is then stepped through sequentially to retrieve audio content. Of course, other memory arrangements may also be provided.

In step 730 the playback device waits for a user to complete a listening session. During the listening session, the content counter moves though memory as described above. During step 730, playback may be started and stopped multiple times. A listening session is defined as a time period during which the playback device is not coupled to the library access device, or other device that provides the playback device with audio content.

In step 740, when a listening session is complete, the head pointer is set to the content counter at the end of the listening session. This allows the subsequent listening session to begin at the point in the audio content where the most recent listening session ended. By updating the head pointer after each listening session, memory used for a particular audio selection may be treated as a circular queue such that used (played) audio content is replaced with unused (unplayed) audio content as the audio content is used rather than replacing a complete audio selection when the selection has been used.

In step 750, the memory storing the used audio content is freed and in step 760 the freed memory is used to store subsequent audio content from the library access device. When the new audio content is stored in the playback device, the tail pointer is set to the end of the new audio content in step 770. If the new audio content is placed in memory blocks other than those already used for the audio selection, the new memory blocks are linked to the existing audio content in step 780. The process completes in step 790.

Thus, an audio selection may be updated seamlessly such that the user may be unaware of memory limitations of the playback device. When the playback device is coupled to the library access device after a listening session, the used content in the playback device is replaced with new content from the library access device or other source.

Thus, a user may be provided with a mobile playback device that provides and updates audio according to the user's specifications. The user may specify an amount of time allocated for playback of one or more audio selections. The user may also specify a method for updating each of the audio selections. In this manner the user may personalize and time shift audio programming according to predetermined specifications.

In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. 

1. A playback device comprising: a memory to store a plurality of digital content selections; logic to maintain a head pointer identifying a logical beginning of each selection in memory; and logic circuitry, coupled to the memory, to maintain a content counter, wherein the counter is initially set to the head pointer of the corresponding selection and wherein the counter advances through the corresponding selection in memory during a rendering session. a memory to store digital content; circuitry, coupled to the memory, to maintain multiple content counters, wherein the content counters indicate a current location of consumption for corresponding digital content.
 2. The playback device of claim 1 wherein digital content corresponding to the respective content counter is updated based, at least in part, on the respective content counter
 3. The playback device of claim 1 further comprising an interface coupled to the memory, the interface to receive digital content from a remote source.
 4. A method comprising: storing a plurality of digital content selections; maintaining a head pointer for each selection that identifies a logical beginning of the corresponding selection; and maintaining a content counter comprising: setting the content counter to the head pointer of a current selection to be rendered during a rendering session; and advancing the content counter through the current selection during the rendering session.
 5. The method of claim 4, further comprising: maintaining a tail pointer for each selection that identifies a logical ending of the corresponding selection.
 6. The method of claim 4, wherein maintaining the content counter further comprises: setting the head pointer of the current selection to a current location of rendering in the current selection as identified by the content counter at an end of the rendering session.
 7. The method of claim 4, wherein digital content corresponding to the respective content counter is updated based, at least in part, on the respective content counter.
 8. A method comprising: storing a plurality of digital content selections; maintaining a content counter for each of the plurality of digital content selections, wherein the content counter indicates a current location of consumption for corresponding digital content selection; and updating the content counters based on the consumption of the respective digital content selection.
 9. The method of claim 79 wherein digital content selections corresponding to the respective content counters are updated based, at least in part, on the respective content counters.
 10. A playback device comprising: a plurality of digital selections stored in memory; logic to set a head pointer identifying a logical beginning and a tail pointer identifying a logical ending of each digital selection; and logic which provides a content counter, wherein the content counter is initially set to the head pointer of the corresponding digital selection and, wherein the content counter advances through the corresponding digital selection in memory during a consumption session.
 11. The playback device of claim 10, further comprising logic to update each head pointer to the current location in the digital selection as identified by the corresponding content counter at an end of the consumption session.
 12. The playback device of claim 10, wherein a consumption session comprises rendering the digital selection.
 13. The playback device of claim 11, further comprising logic to track the original location of the head pointer of each content selection and the current location of the head pointer of each content selection and automatically updating one or more of the digital content selections based on the content consumed as indicated by the difference between the original location of the head pointer and current location of the head pointer.
 14. The playback device of claim 13, wherein the logic updates each content selection according to the preferences of a user of the playback device.
 15. The playback device of claim 13, wherein the logic automatically deletes rendered content based on the content counters.
 16. The playback device of claim 11, wherein the end of the consumption session occurs when the playback device is turned off.
 17. The playback device of claim 11, wherein the end of the consumption session occurs when the rendering of a digital programming selection is stopped.
 18. The playback device of claim 10, further comprising logic to render the digital selections.
 19. The playback device of claim 10, further comprising logic to periodically update each head pointer to the current location in the digital selection as identified by the corresponding content counter during the consumption session.
 20. The playback device of claim 10, further comprising logic that refers to the updated head pointer during a subsequent consumption session such that further consumption of the digital selection begins at a point in the digital selection designated by the updated head pointer.
 21. A method for storing and playing electronic content on a playback device comprising: storing a plurality of digital selections stored in memory; setting a head pointer identifying a logical beginning and a tail pointer identifying a logical ending of each digital selection; and providing a content counter, wherein the content counter is initially set to the head pointer of the corresponding digital selection and, wherein the content counter advances through the corresponding digital selection in memory during a consumption session.
 22. The method of claim 21, further comprising updating each head pointer to the current location in the digital selection as identified by the corresponding content counter at an end of the consumption session.
 23. The method of claim 21, wherein a consumption session comprises rendering the digital selection.
 24. The method of claim 21, further comprising tracking the original location of the head pointer of each content selection and the current location of the head pointer of each content selection and automatically updating one or more of the digital content selections based on the content consumed as indicated by the difference between the original location of the head pointer and current location of the head pointer.
 25. The method of claim 24 further comprising updating each content selection according to the preferences of a user of the playback device.
 26. The method of claim 24, further comprising automatically deleting rendered content based on the content counters.
 27. The method of claim 22, wherein the end of the consumption session occurs when the playback device is turned off.
 28. The method of claim 23, wherein the end of the consumption session occurs when the rendering of a digital programming selection is stopped.
 29. The method of claim 21, further comprising rendering the digital selections.
 30. The method of claim 21, further comprising periodically updating each head pointer to the current location in the digital selection as identified by the corresponding content counter during the consumption session.
 31. The playback device of claim 21, further comprising referring to the updated head pointer during a subsequent consumption session such that further consumption of the digital selection begins at a point in the digital selection designated by the updated head pointer. 